package com.ktgj.pay.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

public class InvoiceInvoiceOrderApi {
    /** 发票ID */
    private String invoiceid;

    /** 会员ID */
    @Excel(name = "会员ID")
    private String jsjid;

    /** 订单 */
    @Excel(name = "订单")
    private String ordernum;

    /** 子订单号，逗号隔开，没有子订单时填写大订单号 */
    @Excel(name = "子订单号，逗号隔开，没有子订单时填写大订单号")
    private String suborders;

    /** 开票状态 (1 未开票 2 已预约  4 已开票 5 待支付 6 取消)，11冲红，12作废  15存储错误订单 */
    @Excel(name = "开票状态 (1 未开票 2 已预约  4 已开票 5 待支付 6 取消)，11冲红，12作废  15存储错误订单")
    private Long state;

    /** 发票开具类型，1纸质发票，2电子发票 */
    @Excel(name = "发票开具类型，1纸质发票，2电子发票")
    private Long type;

    /** 发票种类： 1：专用发票，2：普通发票，3定额发票 */
    @Excel(name = "发票种类： 1：专用发票，2：普通发票，3定额发票")
    private Long sort;

    /** 此订单是否包含行程单 1含 2不含 3仅有行程单 */
    @Excel(name = "此订单是否包含行程单 1含 2不含 3仅有行程单")
    private Long haveitinerary;

    /** 购方抬头 */
    @Excel(name = "购方抬头")
    private String title;

    /** 购方税号 */
    @Excel(name = "购方税号")
    private String taxno;

    /** 购方地址 */
    @Excel(name = "购方地址")
    private String address;

    /** 购方电话 */
    @Excel(name = "购方电话")
    private String phone;

    /** 购方银行账号 */
    @Excel(name = "购方银行账号")
    private String bankaccount;

    /** 购方银行名称 */
    @Excel(name = "购方银行名称")
    private String bankname;

    /** 发票PDF路径 */
    @Excel(name = "发票PDF路径")
    private String imgurl;

    /** 开票人 */
    @Excel(name = "开票人")
    private String drawer;

    /** 复核人 */
    @Excel(name = "复核人")
    private String reviewer;

    /** 收款人 */
    @Excel(name = "收款人")
    private String payee;

    /** 原发票代码(发票冲红必填) */
    @Excel(name = "原发票代码(发票冲红必填)")
    private String originalinvoicecode;

    /** 原发票号码(发票冲红必填) */
    @Excel(name = "原发票号码(发票冲红必填)")
    private String originalinvoiceno;

    /** 销方名称 */
    @Excel(name = "销方名称")
    private String sellertitle;

    /** 销方税号 */
    @Excel(name = "销方税号")
    private String sellertaxno;

    /** 销方地址 */
    @Excel(name = "销方地址")
    private String selleraddress;

    /** 销方银行账号 */
    @Excel(name = "销方银行账号")
    private String sellerbankaccount;

    /** 销方电话 */
    @Excel(name = "销方电话")
    private String sellerphone;

    /** 业务线(1国内机票 2国际机票 3酒店) */
    @Excel(name = "业务线(1国内机票 2国际机票 3酒店)")
    private Long sourceway;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsname;

    /** 开票申请来源(1网页版CRM, 2金色平台CRM,  11金色世纪安卓App,  12金色世纪IOS, 13空铁管家安卓,  14空铁管家IOS，微信小程序 15) */
    @Excel(name = "开票申请来源(1网页版CRM, 2金色平台CRM,  11金色世纪安卓App,  12金色世纪IOS, 13空铁管家安卓,  14空铁管家IOS，微信小程序 15)")
    private Long sourceappid;

    /** 规格型号 */
    @Excel(name = "sourceappid")
    private String model;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unit;

    /** 数量 */
    @Excel(name = "数量")
    private Long qty;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 含税单价 */
    @Excel(name = "含税单价")
    private BigDecimal taxprice;

    /** 不含税金额 */
    @Excel(name = "不含税金额")
    private BigDecimal amount;

    /** 含税金额 */
    @Excel(name = "含税金额")
    private BigDecimal taxamount;

    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal tax;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal taxrate;

    /** 税收分类编码 */
    @Excel(name = "税收分类编码")
    private String taxcode;

    /** 扣除额 */
    @Excel(name = "扣除额")
    private String taxdeduction;

    /** 计划开票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开票时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledtime;

    /** 实际开票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际开票时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualtime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    private String remark;

    public String getInvoiceid() {
        return invoiceid;
    }

    public void setInvoiceid(String invoiceid) {
        this.invoiceid = invoiceid;
    }

    public String getJsjid() {
        return jsjid;
    }

    public void setJsjid(String jsjid) {
        this.jsjid = jsjid;
    }

    public String getOrdernum() {
        return ordernum;
    }

    public void setOrdernum(String ordernum) {
        this.ordernum = ordernum;
    }

    public String getSuborders() {
        return suborders;
    }

    public void setSuborders(String suborders) {
        this.suborders = suborders;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public Long getHaveitinerary() {
        return haveitinerary;
    }

    public void setHaveitinerary(Long haveitinerary) {
        this.haveitinerary = haveitinerary;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTaxno() {
        return taxno;
    }

    public void setTaxno(String taxno) {
        this.taxno = taxno;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getBankaccount() {
        return bankaccount;
    }

    public void setBankaccount(String bankaccount) {
        this.bankaccount = bankaccount;
    }

    public String getBankname() {
        return bankname;
    }

    public void setBankname(String bankname) {
        this.bankname = bankname;
    }

    public String getImgurl() {
        return imgurl;
    }

    public void setImgurl(String imgurl) {
        this.imgurl = imgurl;
    }

    public String getDrawer() {
        return drawer;
    }

    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }

    public String getOriginalinvoicecode() {
        return originalinvoicecode;
    }

    public void setOriginalinvoicecode(String originalinvoicecode) {
        this.originalinvoicecode = originalinvoicecode;
    }

    public String getOriginalinvoiceno() {
        return originalinvoiceno;
    }

    public void setOriginalinvoiceno(String originalinvoiceno) {
        this.originalinvoiceno = originalinvoiceno;
    }

    public String getSellertitle() {
        return sellertitle;
    }

    public void setSellertitle(String sellertitle) {
        this.sellertitle = sellertitle;
    }

    public String getSellertaxno() {
        return sellertaxno;
    }

    public void setSellertaxno(String sellertaxno) {
        this.sellertaxno = sellertaxno;
    }

    public String getSelleraddress() {
        return selleraddress;
    }

    public void setSelleraddress(String selleraddress) {
        this.selleraddress = selleraddress;
    }

    public String getSellerbankaccount() {
        return sellerbankaccount;
    }

    public void setSellerbankaccount(String sellerbankaccount) {
        this.sellerbankaccount = sellerbankaccount;
    }

    public String getSellerphone() {
        return sellerphone;
    }

    public void setSellerphone(String sellerphone) {
        this.sellerphone = sellerphone;
    }

    public Long getSourceway() {
        return sourceway;
    }

    public void setSourceway(Long sourceway) {
        this.sourceway = sourceway;
    }

    public String getGoodsname() {
        return goodsname;
    }

    public void setGoodsname(String goodsname) {
        this.goodsname = goodsname;
    }

    public Long getSourceappid() {
        return sourceappid;
    }

    public void setSourceappid(Long sourceappid) {
        this.sourceappid = sourceappid;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Long getQty() {
        return qty;
    }

    public void setQty(Long qty) {
        this.qty = qty;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getTaxprice() {
        return taxprice;
    }

    public void setTaxprice(BigDecimal taxprice) {
        this.taxprice = taxprice;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getTaxamount() {
        return taxamount;
    }

    public void setTaxamount(BigDecimal taxamount) {
        this.taxamount = taxamount;
    }

    public BigDecimal getTax() {
        return tax;
    }

    public void setTax(BigDecimal tax) {
        this.tax = tax;
    }

    public BigDecimal getTaxrate() {
        return taxrate;
    }

    public void setTaxrate(BigDecimal taxrate) {
        this.taxrate = taxrate;
    }

    public String getTaxcode() {
        return taxcode;
    }

    public void setTaxcode(String taxcode) {
        this.taxcode = taxcode;
    }

    public String getTaxdeduction() {
        return taxdeduction;
    }

    public void setTaxdeduction(String taxdeduction) {
        this.taxdeduction = taxdeduction;
    }

    public Date getScheduledtime() {
        return scheduledtime;
    }

    public void setScheduledtime(Date scheduledtime) {
        this.scheduledtime = scheduledtime;
    }

    public Date getActualtime() {
        return actualtime;
    }

    public void setActualtime(Date actualtime) {
        this.actualtime = actualtime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
